iT邦幫忙

2024 iThome 鐵人賽

DAY 22
0
Security

駭客新手指南:從程式小白轉職成初級駭客系列 第 22

Day22 駭客不怕 WAF?揭秘那些繞過技術!

  • 分享至 

  • xImage
  •  

上一篇我們介紹了防火牆(FW)的基本概念與運作原理,不過防火牆主要在保護網絡層方面。而除了傳統防火牆外,還有一種更高級的防護工具,也就是 Web 應用防火牆(WAF),它專門針對應用層的安全威脅,進一步強化了網絡防禦體系。所以今天會來介紹關於WAF的內容與應用,及如何繞過這層防禦。

WAF (Web Application Firewall)

WAF主要是用於是保護網站應用程式,透過監控網站傳輸的 HTTP 流量,比對病毒與惡意程式資料庫,過濾出可疑流量並拒絕惡意流量進入,保護網站免受駭客攻擊。
WAF 的主要目的是保護 Web 應用程式免受常見的攻擊,如 SQL 注入、跨站腳本攻擊(XSS)、跨站請求偽造(CSRF) 等。

工作原理

  • **規則過濾:**基於預定義的規則集來過濾流量,這些規則針對常見攻擊行為進行識別和阻止。
  • **行為分析:**一些高級 WAF 會使用行為分析技術來識別異常流量,通過學習正常流量模式,發現異常行為並進行阻擋。
  • **簽名檢查:**WAF 會根據已知的攻擊簽名來比對流量,當發現類似的惡意行為時,會自動阻止這些請求。

WAF類型

WAF根據部署方式和實現技術可以分為三種主要類型:硬體 WAF、軟體 WAF 和雲端 WAF。這三種 WAF 各自有不同的特點與優缺點,適用於不同規模和需求的網站與應用環境。

1. 硬體WAF

通常以物理設備的形式部署在 Web 伺服器前端,負責檢測並攔截異常流量。
實現方式 : 透過代理技術,將所有外部流量引導至該設備,並根據內置的安全規則庫對請求進行解析和匹配。如果發現請求符合攻擊規則,硬體 WAF 會立即阻止該請求,保護伺服器免受攻擊。

優點

  • 簡單易用,通常即插即用,部署方便
  • 支持高吞吐量,能夠處理大量請求
  • 覆蓋範圍廣,能防禦多種攻擊

缺點

  • 成本較高
  • 可能導致誤判,攔截合法請求
  • 存在繞過機率

2. 軟體WAF

安裝在伺服器上的防護軟體,通常與應用程式一同運行,用於監控並保護特定 Web 應用。
實現方式 : 通過監聽特定端口或與 Web 伺服器整合的方式來檢測並攔截異常流量。它會根據自定義規則或預設的安全策略來分析請求,並攔截潛在威脅。

優點

  • 成本較低,部分軟體 WAF 是免費的
  • 通常有友好的操作界面
  • 功能豐富

缺點

  • 誤殺&漏報
  • 占用較多伺服器資源,可能影響性能
  • 適合中小型網站,對大型流量的網站不太適用

3. 雲端WAF

通過雲服務提供商進行部署的,不需要在用戶的伺服器上安裝軟體或部署硬體設備。
實現方式 : 利用DNS技術,通過移交域名解析權來實現安全防護。用戶的請求首先發送到雲端節點進行檢測,如存在異常請求則進行攔截否則將請求轉發至真實伺服器。

優點

  • 部署簡單,用戶無需維護硬體或軟體
  • 雲端提供商會自動更新安全規則,用戶無需自行更新
  • 可充當CDN

缺點

  • 輕易被繞過的風險
  • 可靠性、保密性低

駭客如何攻擊破解WAF

  1. 模糊請求(Evasion Techniques)
    利用異常格式的請求,來讓 WAF 無法正確解析,從而避開 WAF 的檢查規則。
  • 編碼規避: 使用 URL 編碼、十六進制編碼或混合編碼來改變惡意數據的表現形式。如:將 / 用 %2F 或 ..%2F.. 等方式來隱藏目標路徑。
  • 大小寫變換: 某些 WAF 無法識別不同大小寫的關鍵字,因此可以故意改變關鍵字的大小寫來繞過檢查。例如,把 select 改成 SeLeCt,可能繞過 SQL 注入檢測。
  1. 分段攻擊(Fragmentation Attack)
    將攻擊請求拆分成多個片段,這些片段單獨檢查時不會觸發 WAF 的規則,但在伺服器上重新組裝後形成有效的攻擊。
  • 分段注入: 駭客將一個完整的攻擊語句分成多個 HTTP 請求發送,WAF 可能無法辨別這些片段中的惡意內容,但伺服器在組裝後執行時會受到攻擊。很多人在遊戲內罵人為了躲避審查也會這樣做。
  1. HTTP 協議異常使用
    通過使用不常見的 HTTP 方法或特定的協議變種,來混淆 WAF 的檢測邏輯。
  • 非標準 HTTP 方法: 例如使用 HTTP TRACE 或 OPTIONS 方法來發送惡意請求,因為 WAF 可能只針對 GET 或 POST 請求進行檢查,忽略其他方法。
  • HTTP 協議錯誤處理: 利用不標準的 HTTP 協議,例如非法的行結束符、異常的編碼等,讓 WAF 無法正確解析請求,從而避開檢查。
  1. 混合合法流量(Blending Attack)
    將惡意請求隱藏在大量合法流量中,讓 WAF 難以區分出惡意請求。
  • 高流量隱藏: 發送大量正常請求,並在其中混入少量惡意請求。這樣,WAF 可能難以有效區分和檢測,導致攻擊請求得以通過。
  • 合法數據污染: 使用合法的參數夾帶惡意代碼,讓 WAF 以為這是一個合法請求。例如,在正常的查詢參數中混入一段經過巧妙編碼的惡意 SQL 查詢。
  1. 利用 WAF 的漏洞
    WAF 本身可能存在漏洞,可以利用這些漏洞來發動攻擊。
  • WAF 配置錯誤: 如果 WAF 的規則過於寬鬆或配置不當,可以針對這些缺陷來發起攻擊。例如,一些 WAF 可能僅對公共 API 進行保護,而忽略了後端管理介面。
  • WAF 漏洞利用: WAF 本身的安全漏洞,例如某些 WAF 可能有遠程代碼執行漏洞,便可以利用這些漏洞來癱瘓 WAF,繞過其防禦。
  1. 內部攻擊
    如果已經取得內部網絡的訪問權限,可以直接發起來自內部的攻擊。因為 WAF 通常用來保護外部流量,對內部流量的監控較弱。
  • 內部後門: 一旦成功在內部安裝後門或獲得內部權限,便可以發起內部攻擊。
  • 利用已授權用戶: 利用已取得合法憑證的帳號進行攻擊,這類流量通常被視為合法,不會受到 WAF 的攔截。
  1. DOS 攻擊
    使用大規模的 DOS(拒絕服務攻擊)來癱瘓 WAF,讓其無法正確處理請求。當 WAF 超負荷運作時,可能會放行某些本應該被攔截的惡意請求。

上一篇
Day21 防火牆的秘密:駭客的第一道難關
下一篇
Day23 EDR 是防線,還是挑戰?
系列文
駭客新手指南:從程式小白轉職成初級駭客30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言